from django.contrib.auth.models import AbstractUser
from django.db import models

# Create your models here.
from meiduo_mall.utils.model import BaseModel


class User(AbstractUser):
    # 自定义用户模型类
    mobile=models.CharField(max_length=11,unique=True,verbose_name='手机号')
    email_active=models.BooleanField(default=False,verbose_name='邮箱验证状态')
    default_address=models.ForeignKey('Address',related_name='users',null=True,
                                      blank=True,on_delete=models.SET_NULL,verbose_name='默认地址')
    class Meta:
        db_table='tb_user'#自定义表名
        verbose_name='用户'
        verbose_name_plural=verbose_name

class Address(BaseModel):
    user=models.ForeignKey(User,on_delete=models.CASCADE,related_name='addresses',verbose_name='用户')
    title=models.CharField(max_length=20,verbose_name='地址名称')
    receiver=models.CharField(max_length=20,verbose_name='收货人')
    province=models.ForeignKey('areas.Area',on_delete=models.PROTECT,related_name='provinces')
    city = models.ForeignKey('areas.Area', on_delete=models.PROTECT, related_name='citys')
    district = models.ForeignKey('areas.Area', on_delete=models.PROTECT, related_name='districts')
    place=models.CharField(max_length=50,verbose_name='地址')
    mobile=models.CharField(max_length=11,verbose_name='手机号')
    tel=models.CharField(max_length=20,null=True,blank=True,default='',verbose_name='tel')
    email=models.CharField(max_length=30,null=True,blank=True,default='',verbose_name='邮箱')
    is_deleted=models.BooleanField(default=False,verbose_name='逻辑删除')
    class Meta:
        db_table='tb_address'
        verbose_name='用户地址'
        verbose_name_plural=verbose_name
        ordering=['-updata_time']

